#include<bits/stdc++.h>
using namespace std;
#define all(x) (x).begin(),(x).end()
#define rall(x) (x).rbegin(),(x).rend()
const int N = 2e5 + 10;
#define INF 0x3f3f3f3f;
typedef long long int ll;
#define close(); std::ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);
//----------------------------------------------------------------------------//
int n, a[N];
void solve()
{
    cin >> n;
    a[0] = -INF;
    a[n + 1] = INF;
    for(int i = 1; i <= n; i++) cin >> a[i];

    sort(a + 1, a + n + 1); //升序,此时a为当前a集合的max,为当前b集合的min

    int ans = 0;
    for(int i = 1; i <= n + 1; i++)
    {
        ans += (i - 2 >= a[i - 1]) && (i - 1 < a[i]); //去的人1--(i-1)不去的i--n,从全不去到全去枚举
    }
    cout << ans << '\n';




}

int main()
{
    close();
    int T;
    cin >> T;
    while (T--) solve();
    return 0;
}